﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.Net.Mail;
using ServicioComunitario2.EnlaceDatos.SqlServer;

namespace ServicioComunitario2.Logica.Clases
{
    public class Persona
    {
        #region Atributos
        private int idPersona;
        private string nombrePersona;
        private string apellidoPersona;
        private string emailPersona;
        private string usuarioPersona;
        private string passwordPersona;
        private string rolPersona;
        private int idRol;

        
        #endregion

        #region Constructor

        public Persona() { 
        }

        public Persona(int idPer, string nombrePer, string apellidoPer, string email, string usuarioPer, string passPer, int idRol) { 
        }

        public Persona(string nombrePer, string apellidoPer, string email, string usuarioPer, string passPer, int idRol)
        {
            this.NombrePersona = nombrePer;
            this.ApellidoPersona = apellidoPer;
            this.EmailPersona = email;
            this.UsuarioPersona = usuarioPer;
            this.PasswordPersona = passPer;
            this.IdRol = idRol;
        }

        public Persona(string nombrePer, string apellidoPer, string email, string usuarioPer, int idRol)
        {
            this.NombrePersona = nombrePer;
            this.ApellidoPersona = apellidoPer;
            this.EmailPersona = email;
            this.UsuarioPersona = usuarioPer;
            this.IdRol = idRol;
        }



        #endregion

        #region gets y sets

        public string RolPersona
        {
            get { return rolPersona; }
            set { rolPersona = value; }
        }

        public int IdRol
        {
            get { return idRol; }
            set { idRol = value; }
        }

        public string PasswordPersona
        {
            get { return passwordPersona; }
            set { passwordPersona = value; }
        }

        public string UsuarioPersona
        {
            get { return usuarioPersona; }
            set { usuarioPersona = value; }
        }

        public string EmailPersona
        {
            get { return emailPersona; }
            set { emailPersona = value; }
        }

        public string ApellidoPersona
        {
            get { return apellidoPersona; }
            set { apellidoPersona = value; }
        }

        public string NombrePersona
        {
            get { return nombrePersona; }
            set { nombrePersona = value; }
        }

        public int IdPersona
        {
            get { return idPersona; }
            set { idPersona = value; }
        }
        #endregion

        #region Metodos de manejo

        #region Agregar persona

        public bool AgregarPersona(Persona nuevaPersona)
        {
            SqlPersona persona = new SqlPersona();

            return persona.InsertarPersona(nuevaPersona);

        }

        #endregion


        #region Modificar persona

        public bool ModificarPersona(int numPersona, Persona miPersona)
        {
            SqlPersona _persona = new SqlPersona();

            return _persona.ModificarPersona(numPersona,miPersona);

        }
        #endregion


        #region Consultar persona

        public Persona ConsultarPersona(int numPersona)
        {
            SqlPersona miPersona = new SqlPersona();

            return miPersona.DetallePersona(numPersona);

        }

        public Persona ConsultarPersona(string usuario, string clave)
        {
            SqlPersona miPersona = new SqlPersona();

            return miPersona.DetallePersona(usuario, clave);

        }



        #endregion


        #region Lista Personas


        public List<Persona> ListaPersonas()
        {

            SqlPersona infoAux = new SqlPersona();

            return (infoAux.ListarTodasPersonas());

        }




        #endregion





        #endregion

    }

}